home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Magazine / Morphos / GCC / os-includeppc / inline / dos.h < prev    next >
C/C++ Source or Header  |  1997-04-14  |  22KB  |  694 lines

  1. /* Automatically generated header! Do not edit! */
  2.  
  3. #ifndef _INLINE_DOS_H
  4. #define _INLINE_DOS_H
  5.  
  6. #ifndef __INLINE_MACROS_H
  7. #include <inline/macros.h>
  8. #endif /* !__INLINE_MACROS_H */
  9.  
  10. #ifndef DOS_BASE_NAME
  11. #define DOS_BASE_NAME DOSBase
  12. #endif /* !DOS_BASE_NAME */
  13.  
  14. #define AbortPkt(port, pkt) \
  15.     LP2NR(0x108, AbortPkt, struct MsgPort *, port, d1, struct DosPacket *, pkt, d2, \
  16.     , DOS_BASE_NAME)
  17.  
  18. #define AddBuffers(name, number) \
  19.     LP2(0x2dc, LONG, AddBuffers, STRPTR, name, d1, long, number, d2, \
  20.     , DOS_BASE_NAME)
  21.  
  22. #define AddDosEntry(dlist) \
  23.     LP1(0x2a6, LONG, AddDosEntry, struct DosList *, dlist, d1, \
  24.     , DOS_BASE_NAME)
  25.  
  26. #define AddPart(dirname, filename, size) \
  27.     LP3(0x372, BOOL, AddPart, STRPTR, dirname, d1, STRPTR, filename, d2, unsigned long, size, d3, \
  28.     , DOS_BASE_NAME)
  29.  
  30. #define AddSegment(name, seg, system) \
  31.     LP3(0x306, LONG, AddSegment, STRPTR, name, d1, BPTR, seg, d2, long, system, d3, \
  32.     , DOS_BASE_NAME)
  33.  
  34. #define AllocDosObject(type, tags) \
  35.     LP2(0xe4, APTR, AllocDosObject, unsigned long, type, d1, struct TagItem *, tags, d2, \
  36.     , DOS_BASE_NAME)
  37.  
  38. #define AllocDosObjectTagList(a0, a1) AllocDosObject ((a0), (a1))
  39.  
  40. #ifndef NO_INLINE_STDARG
  41. #define AllocDosObjectTags(a0, tags...) \
  42.     ({ULONG _tags[] = { tags }; AllocDosObject((a0), (struct TagItem *)_tags);})
  43. #endif /* !NO_INLINE_STDARG */
  44.  
  45. #define AssignAdd(name, lock) \
  46.     LP2(0x276, BOOL, AssignAdd, STRPTR, name, d1, BPTR, lock, d2, \
  47.     , DOS_BASE_NAME)
  48.  
  49. #define AssignLate(name, path) \
  50.     LP2(0x26a, BOOL, AssignLate, STRPTR, name, d1, STRPTR, path, d2, \
  51.     , DOS_BASE_NAME)
  52.  
  53. #define AssignLock(name, lock) \
  54.     LP2(0x264, LONG, AssignLock, STRPTR, name, d1, BPTR, lock, d2, \
  55.     , DOS_BASE_NAME)
  56.  
  57. #define AssignPath(name, path) \
  58.     LP2(0x270, BOOL, AssignPath, STRPTR, name, d1, STRPTR, path, d2, \
  59.     , DOS_BASE_NAME)
  60.  
  61. #define AttemptLockDosList(flags) \
  62.     LP1(0x29a, struct DosList *, AttemptLockDosList, unsigned long, flags, d1, \
  63.     , DOS_BASE_NAME)
  64.  
  65. #define ChangeMode(type, fh, newmode) \
  66.     LP3(0x1c2, LONG, ChangeMode, long, type, d1, BPTR, fh, d2, long, newmode, d3, \
  67.     , DOS_BASE_NAME)
  68.  
  69. #define CheckSignal(mask) \
  70.     LP1(0x318, LONG, CheckSignal, long, mask, d1, \
  71.     , DOS_BASE_NAME)
  72.  
  73. #define Cli() \
  74.     LP0(0x1ec, struct CommandLineInterface *, Cli, \
  75.     , DOS_BASE_NAME)
  76.  
  77. #define CliInitNewcli(dp) \
  78.     LP1(0x3a2, LONG, CliInitNewcli, struct DosPacket *, dp, a0, \
  79.     , DOS_BASE_NAME)
  80.  
  81. #define CliInitRun(dp) \
  82.     LP1(0x3a8, LONG, CliInitRun, struct DosPacket *, dp, a0, \
  83.     , DOS_BASE_NAME)
  84.  
  85. #define Close(file) \
  86.     LP1(0x24, LONG, Close, BPTR, file, d1, \
  87.     , DOS_BASE_NAME)
  88.  
  89. #define CompareDates(date1, date2) \
  90.     LP2(0x2e2, LONG, CompareDates, struct DateStamp *, date1, d1, struct DateStamp *, date2, d2, \
  91.     , DOS_BASE_NAME)
  92.  
  93. #define CreateDir(name) \
  94.     LP1(0x78, BPTR, CreateDir, STRPTR, name, d1, \
  95.     , DOS_BASE_NAME)
  96.  
  97. #define CreateNewProc(tags) \
  98.     LP1(0x1f2, struct Process *, CreateNewProc, struct TagItem *, tags, d1, \
  99.     , DOS_BASE_NAME)
  100.  
  101. #define CreateNewProcTagList(a0) CreateNewProc ((a0))
  102.  
  103. #ifndef NO_INLINE_STDARG
  104. #define CreateNewProcTags(tags...) \
  105.     ({ULONG _tags[] = { tags }; CreateNewProc((struct TagItem *)_tags);})
  106. #endif /* !NO_INLINE_STDARG */
  107.  
  108. #define CreateProc(name, pri, segList, stackSize) \
  109.     LP4(0x8a, struct MsgPort *, CreateProc, STRPTR, name, d1, long, pri, d2, BPTR, segList, d3, long, stackSize, d4, \
  110.     , DOS_BASE_NAME)
  111.  
  112. #define CurrentDir(lock) \
  113.     LP1(0x7e, BPTR, CurrentDir, BPTR, lock, d1, \
  114.     , DOS_BASE_NAME)
  115.  
  116. #define DateStamp(date) \
  117.     LP1(0xc0, struct DateStamp *, DateStamp, struct DateStamp *, date, d1, \
  118.     , DOS_BASE_NAME)
  119.  
  120. #define DateToStr(datetime) \
  121.     LP1(0x2e8, LONG, DateToStr, struct DateTime *, datetime, d1, \
  122.     , DOS_BASE_NAME)
  123.  
  124. #define Delay(timeout) \
  125.     LP1NR(0xc6, Delay, long, timeout, d1, \
  126.     , DOS_BASE_NAME)
  127.  
  128. #define DeleteFile(name) \
  129.     LP1(0x48, LONG, DeleteFile, STRPTR, name, d1, \
  130.     , DOS_BASE_NAME)
  131.  
  132. #define DeleteVar(name, flags) \
  133.     LP2(0x390, LONG, DeleteVar, STRPTR, name, d1, unsigned long, flags, d2, \
  134.     , DOS_BASE_NAME)
  135.  
  136. #define DeviceProc(name) \
  137.     LP1(0xae, struct MsgPort *, DeviceProc, STRPTR, name, d1, \
  138.     , DOS_BASE_NAME)
  139.  
  140. #define DoPkt(port, action, arg1, arg2, arg3, arg4, arg5) \
  141.     LP7(0xf0, LONG, DoPkt, struct MsgPort *, port, d1, long, action, d2, long, arg1, d3, long, arg2, d4, long, arg3, d5, long, arg4, d6, long, arg5, d7, \
  142.     , DOS_BASE_NAME)
  143.  
  144. #define DoPkt0(port, action) \
  145.     LP2(0xf0, LONG, DoPkt0, struct MsgPort *, port, d1, long, action, d2, \
  146.     , DOS_BASE_NAME)
  147.  
  148. #define DoPkt1(port, action, arg1) \
  149.     LP3(0xf0, LONG, DoPkt1, struct MsgPort *, port, d1, long, action, d2, long, arg1, d3, \
  150.     , DOS_BASE_NAME)
  151.  
  152. #define DoPkt2(port, action, arg1, arg2) \
  153.     LP4(0xf0, LONG, DoPkt2, struct MsgPort *, port, d1, long, action, d2, long, arg1, d3, long, arg2, d4, \
  154.     , DOS_BASE_NAME)
  155.  
  156. #define DoPkt3(port, action, arg1, arg2, arg3) \
  157.     LP5(0xf0, LONG, DoPkt3, struct MsgPort *, port, d1, long, action, d2, long, arg1, d3, long, arg2, d4, long, arg3, d5, \
  158.     , DOS_BASE_NAME)
  159.  
  160. #define DoPkt4(port, action, arg1, arg2, arg3, arg4) \
  161.     LP6(0xf0, LONG, DoPkt4, struct MsgPort *, port, d1, long, action, d2, long, arg1, d3, long, arg2, d4, long, arg3, d5, long, arg4, d6, \
  162.     , DOS_BASE_NAME)
  163.  
  164. #define DupLock(lock) \
  165.     LP1(0x60, BPTR, DupLock, BPTR, lock, d1, \
  166.     , DOS_BASE_NAME)
  167.  
  168. #define DupLockFromFH(fh) \
  169.     LP1(0x174, BPTR, DupLockFromFH, BPTR, fh, d1, \
  170.     , DOS_BASE_NAME)
  171.  
  172. #define EndNotify(notify) \
  173.     LP1NR(0x37e, EndNotify, struct NotifyRequest *, notify, d1, \
  174.     , DOS_BASE_NAME)
  175.  
  176. #define ErrorReport(code, type, arg1, device) \
  177.     LP4(0x1e0, LONG, ErrorReport, long, code, d1, long, type, d2, unsigned long, arg1, d3, struct MsgPort *, device, d4, \
  178.     , DOS_BASE_NAME)
  179.  
  180. #define ExAll(lock, buffer, size, data, control) \
  181.     LP5(0x1b0, LONG, ExAll, BPTR, lock, d1, struct ExAllData *, buffer, d2, long, size, d3, long, data, d4, struct ExAllControl *, control, d5, \
  182.     , DOS_BASE_NAME)
  183.  
  184. #define ExAllEnd(lock, buffer, size, data, control) \
  185.     LP5NR(0x3de, ExAllEnd, BPTR, lock, d1, struct ExAllData *, buffer, d2, long, size, d3, long, data, d4, struct ExAllControl *, control, d5, \
  186.     , DOS_BASE_NAME)
  187.  
  188. #define ExNext(lock, fileInfoBlock) \
  189.     LP2(0x6c, LONG, ExNext, BPTR, lock, d1, struct FileInfoBlock *, fileInfoBlock, d2, \
  190.     , DOS_BASE_NAME)
  191.  
  192. #define Examine(lock, fileInfoBlock) \
  193.     LP2(0x66, LONG, Examine, BPTR, lock, d1, struct FileInfoBlock *, fileInfoBlock, d2, \
  194.     , DOS_BASE_NAME)
  195.  
  196. #define ExamineFH(fh, fib) \
  197.     LP2(0x186, BOOL, ExamineFH, BPTR, fh, d1, struct FileInfoBlock *, fib, d2, \
  198.     , DOS_BASE_NAME)
  199.  
  200. #define Execute(string, file, file2) \
  201.     LP3(0xde, LONG, Execute, STRPTR, string, d1, BPTR, file, d2, BPTR, file2, d3, \
  202.     , DOS_BASE_NAME)
  203.  
  204. #define Exit(returnCode) \
  205.     LP1NR(0x90, Exit, long, returnCode, d1, \
  206.     , DOS_BASE_NAME)
  207.  
  208. #define FGetC(fh) \
  209.     LP1(0x132, LONG, FGetC, BPTR, fh, d1, \
  210.     , DOS_BASE_NAME)
  211.  
  212. #define FGets(fh, buf, buflen) \
  213.     LP3(0x150, STRPTR, FGets, BPTR, fh, d1, STRPTR, buf, d2, unsigned long, buflen, d3, \
  214.     , DOS_BASE_NAME)
  215.  
  216. #define FPutC(fh, ch) \
  217.     LP2(0x138, LONG, FPutC, BPTR, fh, d1, long, ch, d2, \
  218.     , DOS_BASE_NAME)
  219.  
  220. #define FPuts(fh, str) \
  221.     LP2(0x156, LONG, FPuts, BPTR, fh, d1, STRPTR, str, d2, \
  222.     , DOS_BASE_NAME)
  223.  
  224. #define FRead(fh, block, blocklen, number) \
  225.     LP4(0x144, LONG, FRead, BPTR, fh, d1, APTR, block, d2, unsigned long, blocklen, d3, unsigned long, number, d4, \
  226.     , DOS_BASE_NAME)
  227.  
  228. #define FWrite(fh, block, blocklen, number) \
  229.     LP4(0x14a, LONG, FWrite, BPTR, fh, d1, APTR, block, d2, unsigned long, blocklen, d3, unsigned long, number, d4, \
  230.     , DOS_BASE_NAME)
  231.  
  232. #define Fault(code, header, buffer, len) \
  233.     LP4(0x1d4, BOOL, Fault, long, code, d1, STRPTR, header, d2, STRPTR, buffer, d3, long, len, d4, \
  234.     , DOS_BASE_NAME)
  235.  
  236. #define FilePart(path) \
  237.     LP1(0x366, STRPTR, FilePart, STRPTR, path, d1, \
  238.     , DOS_BASE_NAME)
  239.  
  240. #define FindArg(keyword, arg_template) \
  241.     LP2(0x324, LONG, FindArg, STRPTR, keyword, d1, STRPTR, arg_template, d2, \
  242.     , DOS_BASE_NAME)
  243.  
  244. #define FindCliProc(num) \
  245.     LP1(0x222, struct Process *, FindCliProc, unsigned long, num, d1, \
  246.     , DOS_BASE_NAME)
  247.  
  248. #define FindDosEntry(dlist, name, flags) \
  249.     LP3(0x2ac, struct DosList *, FindDosEntry, struct DosList *, dlist, d1, STRPTR, name, d2, unsigned long, flags, d3, \
  250.     , DOS_BASE_NAME)
  251.  
  252. #define FindSegment(name, seg, system) \
  253.     LP3(0x30c, struct Segment *, FindSegment, STRPTR, name, d1, struct Segment *, seg, d2, long, system, d3, \
  254.     , DOS_BASE_NAME)
  255.  
  256. #define FindVar(name, type) \
  257.     LP2(0x396, struct LocalVar *, FindVar, STRPTR, name, d1, unsigned long, type, d2, \
  258.     , DOS_BASE_NAME)
  259.  
  260. #define Flush(fh) \
  261.     LP1(0x168, LONG, Flush, BPTR, fh, d1, \
  262.     , DOS_BASE_NAME)
  263.  
  264. #define Format(filesystem, volumename, dostype) \
  265.     LP3(0x2ca, BOOL, Format, STRPTR, filesystem, d1, STRPTR, volumename, d2, unsigned long, dostype, d3, \
  266.     , DOS_BASE_NAME)
  267.  
  268. #define FreeArgs(args) \
  269.     LP1NR(0x35a, FreeArgs, struct RDArgs *, args, d1, \
  270.     , DOS_BASE_NAME)
  271.  
  272. #define FreeDeviceProc(dp) \
  273.     LP1NR(0x288, FreeDeviceProc, struct DevProc *, dp, d1, \
  274.     , DOS_BASE_NAME)
  275.  
  276. #define FreeDosEntry(dlist) \
  277.     LP1NR(0x2be, FreeDosEntry, struct DosList *, dlist, d1, \
  278.     , DOS_BASE_NAME)
  279.  
  280. #define FreeDosObject(type, ptr) \
  281.     LP2NR(0xea, FreeDosObject, unsigned long, type, d1, APTR, ptr, d2, \
  282.     , DOS_BASE_NAME)
  283.  
  284. #define GetArgStr() \
  285.     LP0(0x216, STRPTR, GetArgStr, \
  286.     , DOS_BASE_NAME)
  287.  
  288. #define GetConsoleTask() \
  289.     LP0(0x1fe, struct MsgPort *, GetConsoleTask, \
  290.     , DOS_BASE_NAME)
  291.  
  292. #define GetCurrentDirName(buf, len) \
  293.     LP2(0x234, BOOL, GetCurrentDirName, STRPTR, buf, d1, long, len, d2, \
  294.     , DOS_BASE_NAME)
  295.  
  296. #define GetDeviceProc(name, dp) \
  297.     LP2(0x282, struct DevProc *, GetDeviceProc, STRPTR, name, d1, struct DevProc *, dp, d2, \
  298.     , DOS_BASE_NAME)
  299.  
  300. #define GetFileSysTask() \
  301.     LP0(0x20a, struct MsgPort *, GetFileSysTask, \
  302.     , DOS_BASE_NAME)
  303.  
  304. #define GetProgramDir() \
  305.     LP0(0x258, BPTR, GetProgramDir, \
  306.     , DOS_BASE_NAME)
  307.  
  308. #define GetProgramName(buf, len) \
  309.     LP2(0x240, BOOL, GetProgramName, STRPTR, buf, d1, long, len, d2, \
  310.     , DOS_BASE_NAME)
  311.  
  312. #define GetPrompt(buf, len) \
  313.     LP2(0x24c, BOOL, GetPrompt, STRPTR, buf, d1, long, len, d2, \
  314.     , DOS_BASE_NAME)
  315.  
  316. #define GetVar(name, buffer, size, flags) \
  317.     LP4(0x38a, LONG, GetVar, STRPTR, name, d1, STRPTR, buffer, d2, long, size, d3, long, flags, d4, \
  318.     , DOS_BASE_NAME)
  319.  
  320. #define Info(lock, parameterBlock) \
  321.     LP2(0x72, LONG, Info, BPTR, lock, d1, struct InfoData *, parameterBlock, d2, \
  322.     , DOS_BASE_NAME)
  323.  
  324. #define Inhibit(name, onoff) \
  325.     LP2(0x2d6, LONG, Inhibit, STRPTR, name, d1, long, onoff, d2, \
  326.     , DOS_BASE_NAME)
  327.  
  328. #define Input() \
  329.     LP0(0x36, BPTR, Input, \
  330.     , DOS_BASE_NAME)
  331.  
  332. #define InternalLoadSeg(fh, table, funcarray, stack) \
  333.     LP4(0x2f4, BPTR, InternalLoadSeg, BPTR, fh, d0, BPTR, table, a0, LONG *, funcarray, a1, LONG *, stack, a2, \
  334.     , DOS_BASE_NAME)
  335.  
  336. #define InternalUnLoadSeg(seglist, freefunc) \
  337.     LP2FP(0x2fa, BOOL, InternalUnLoadSeg, BPTR, seglist, d1, __fpt, freefunc, a1, \
  338.     , DOS_BASE_NAME, void (*__fpt)())
  339.  
  340. #define IoErr() \
  341.     LP0(0x84, LONG, IoErr, \
  342.     , DOS_BASE_NAME)
  343.  
  344. #define IsFileSystem(name) \
  345.     LP1(0x2c4, BOOL, IsFileSystem, STRPTR, name, d1, \
  346.     , DOS_BASE_NAME)
  347.  
  348. #define IsInteractive(file) \
  349.     LP1(0xd8, LONG, IsInteractive, BPTR, file, d1, \
  350.     , DOS_BASE_NAME)
  351.  
  352. #define LoadSeg(name) \
  353.     LP1(0x96, BPTR, LoadSeg, STRPTR, name, d1, \
  354.     , DOS_BASE_NAME)
  355.  
  356. #define Lock(name, type) \
  357.     LP2(0x54, BPTR, Lock, STRPTR, name, d1, long, type, d2, \
  358.     , DOS_BASE_NAME)
  359.  
  360. #define LockDosList(flags) \
  361.     LP1(0x28e, struct DosList *, LockDosList, unsigned long, flags, d1, \
  362.     , DOS_BASE_NAME)
  363.  
  364. #define LockRecord(fh, offset, length, mode, timeout) \
  365.     LP5(0x10e, BOOL, LockRecord, BPTR, fh, d1, unsigned long, offset, d2, unsigned long, length, d3, unsigned long, mode, d4, unsigned long, timeout, d5, \
  366.     , DOS_BASE_NAME)
  367.  
  368. #define LockRecords(recArray, timeout) \
  369.     LP2(0x114, BOOL, LockRecords, struct RecordLock *, recArray, d1, unsigned long, timeout, d2, \
  370.     , DOS_BASE_NAME)
  371.  
  372. #define MakeDosEntry(name, type) \
  373.     LP2(0x2b8, struct DosList *, MakeDosEntry, STRPTR, name, d1, long, type, d2, \
  374.     , DOS_BASE_NAME)
  375.  
  376. #define MakeLink(name, dest, soft) \
  377.     LP3(0x1bc, LONG, MakeLink, STRPTR, name, d1, long, dest, d2, long, soft, d3, \
  378.     , DOS_BASE_NAME)
  379.  
  380. #define MatchEnd(anchor) \
  381.     LP1NR(0x342, MatchEnd, struct AnchorPath *, anchor, d1, \
  382.     , DOS_BASE_NAME)
  383.  
  384. #define MatchFirst(pat, anchor) \
  385.     LP2(0x336, LONG, MatchFirst, STRPTR, pat, d1, struct AnchorPath *, anchor, d2, \
  386.     , DOS_BASE_NAME)
  387.  
  388. #define MatchNext(anchor) \
  389.     LP1(0x33c, LONG, MatchNext, struct AnchorPath *, anchor, d1, \
  390.     , DOS_BASE_NAME)
  391.  
  392. #define MatchPattern(pat, str) \
  393.     LP2(0x34e, BOOL, MatchPattern, STRPTR, pat, d1, STRPTR, str, d2, \
  394.     , DOS_BASE_NAME)
  395.  
  396. #define MatchPatternNoCase(pat, str) \
  397.     LP2(0x3cc, BOOL, MatchPatternNoCase, STRPTR, pat, d1, STRPTR, str, d2, \
  398.     , DOS_BASE_NAME)
  399.  
  400. #define MaxCli() \
  401.     LP0(0x228, ULONG, MaxCli, \
  402.     , DOS_BASE_NAME)
  403.  
  404. #define NameFromFH(fh, buffer, len) \
  405.     LP3(0x198, LONG, NameFromFH, BPTR, fh, d1, STRPTR, buffer, d2, long, len, d3, \
  406.     , DOS_BASE_NAME)
  407.  
  408. #define NameFromLock(lock, buffer, len) \
  409.     LP3(0x192, LONG, NameFromLock, BPTR, lock, d1, STRPTR, buffer, d2, long, len, d3, \
  410.     , DOS_BASE_NAME)
  411.  
  412. #define NewLoadSeg(file, tags) \
  413.     LP2(0x300, BPTR, NewLoadSeg, STRPTR, file, d1, struct TagItem *, tags, d2, \
  414.     , DOS_BASE_NAME)
  415.  
  416. #define NewLoadSegTagList(a0, a1) NewLoadSeg ((a0), (a1))
  417.  
  418. #ifndef NO_INLINE_STDARG
  419. #define NewLoadSegTags(a0, tags...) \
  420.     ({ULONG _tags[] = { tags }; NewLoadSeg((a0), (struct TagItem *)_tags);})
  421. #endif /* !NO_INLINE_STDARG */
  422.  
  423. #define NextDosEntry(dlist, flags) \
  424.     LP2(0x2b2, struct DosList *, NextDosEntry, struct DosList *, dlist, d1, unsigned long, flags, d2, \
  425.     , DOS_BASE_NAME)
  426.  
  427. #define Open(name, accessMode) \
  428.     LP2(0x1e, BPTR, Open, STRPTR, name, d1, long, accessMode, d2, \
  429.     , DOS_BASE_NAME)
  430.  
  431. #define OpenFromLock(lock) \
  432.     LP1(0x17a, BPTR, OpenFromLock, BPTR, lock, d1, \
  433.     , DOS_BASE_NAME)
  434.  
  435. #define Output() \
  436.     LP0(0x3c, BPTR, Output, \
  437.     , DOS_BASE_NAME)
  438.  
  439. #define ParentDir(lock) \
  440.     LP1(0xd2, BPTR, ParentDir, BPTR, lock, d1, \
  441.     , DOS_BASE_NAME)
  442.  
  443. #define ParentOfFH(fh) \
  444.     LP1(0x180, BPTR, ParentOfFH, BPTR, fh, d1, \
  445.     , DOS_BASE_NAME)
  446.  
  447. #define ParsePattern(pat, buf, buflen) \
  448.     LP3(0x348, LONG, ParsePattern, STRPTR, pat, d1, STRPTR, buf, d2, long, buflen, d3, \
  449.     , DOS_BASE_NAME)
  450.  
  451. #define ParsePatternNoCase(pat, buf, buflen) \
  452.     LP3(0x3c6, LONG, ParsePatternNoCase, STRPTR, pat, d1, STRPTR, buf, d2, long, buflen, d3, \
  453.     , DOS_BASE_NAME)
  454.  
  455. #define PathPart(path) \
  456.     LP1(0x36c, STRPTR, PathPart, STRPTR, path, d1, \
  457.     , DOS_BASE_NAME)
  458.  
  459. #define PrintFault(code, header) \
  460.     LP2(0x1da, BOOL, PrintFault, long, code, d1, STRPTR, header, d2, \
  461.     , DOS_BASE_NAME)
  462.  
  463. #define PutStr(str) \
  464.     LP1(0x3b4, LONG, PutStr, STRPTR, str, d1, \
  465.     , DOS_BASE_NAME)
  466.  
  467. #define Read(file, buffer, length) \
  468.     LP3(0x2a, LONG, Read, BPTR, file, d1, APTR, buffer, d2, long, length, d3, \
  469.     , DOS_BASE_NAME)
  470.  
  471. #define ReadArgs(arg_template, array, args) \
  472.     LP3(0x31e, struct RDArgs *, ReadArgs, STRPTR, arg_template, d1, LONG *, array, d2, struct RDArgs *, args, d3, \
  473.     , DOS_BASE_NAME)
  474.  
  475. #define ReadItem(name, maxchars, cSource) \
  476.     LP3(0x32a, LONG, ReadItem, STRPTR, name, d1, long, maxchars, d2, struct CSource *, cSource, d3, \
  477.     , DOS_BASE_NAME)
  478.  
  479. #define ReadLink(port, lock, path, buffer, size) \
  480.     LP5(0x1b6, LONG, ReadLink, struct MsgPort *, port, d1, BPTR, lock, d2, STRPTR, path, d3, STRPTR, buffer, d4, unsigned long, size, d5, \
  481.     , DOS_BASE_NAME)
  482.  
  483. #define Relabel(drive, newname) \
  484.     LP2(0x2d0, LONG, Relabel, STRPTR, drive, d1, STRPTR, newname, d2, \
  485.     , DOS_BASE_NAME)
  486.  
  487. #define RemAssignList(name, lock) \
  488.     LP2(0x27c, LONG, RemAssignList, STRPTR, name, d1, BPTR, lock, d2, \
  489.     , DOS_BASE_NAME)
  490.  
  491. #define RemDosEntry(dlist) \
  492.     LP1(0x2a0, BOOL, RemDosEntry, struct DosList *, dlist, d1, \
  493.     , DOS_BASE_NAME)
  494.  
  495. #define RemSegment(seg) \
  496.     LP1(0x312, LONG, RemSegment, struct Segment *, seg, d1, \
  497.     , DOS_BASE_NAME)
  498.  
  499. #define Rename(oldName, newName) \
  500.     LP2(0x4e, LONG, Rename, STRPTR, oldName, d1, STRPTR, newName, d2, \
  501.     , DOS_BASE_NAME)
  502.  
  503. #define ReplyPkt(dp, res1, res2) \
  504.     LP3NR(0x102, ReplyPkt, struct DosPacket *, dp, d1, long, res1, d2, long, res2, d3, \
  505.     , DOS_BASE_NAME)
  506.  
  507. #define RunCommand(seg, stack, paramptr, paramlen) \
  508.     LP4(0x1f8, LONG, RunCommand, BPTR, seg, d1, long, stack, d2, STRPTR, paramptr, d3, long, paramlen, d4, \
  509.     , DOS_BASE_NAME)
  510.  
  511. #define SameDevice(lock1, lock2) \
  512.     LP2(0x3d8, BOOL, SameDevice, BPTR, lock1, d1, BPTR, lock2, d2, \
  513.     , DOS_BASE_NAME)
  514.  
  515. #define SameLock(lock1, lock2) \
  516.     LP2(0x1a4, LONG, SameLock, BPTR, lock1, d1, BPTR, lock2, d2, \
  517.     , DOS_BASE_NAME)
  518.  
  519. #define Seek(file, position, offset) \
  520.     LP3(0x42, LONG, Seek, BPTR, file, d1, long, position, d2, long, offset, d3, \
  521.     , DOS_BASE_NAME)
  522.  
  523. #define SelectInput(fh) \
  524.     LP1(0x126, BPTR, SelectInput, BPTR, fh, d1, \
  525.     , DOS_BASE_NAME)
  526.  
  527. #define SelectOutput(fh) \
  528.     LP1(0x12c, BPTR, SelectOutput, BPTR, fh, d1, \
  529.     , DOS_BASE_NAME)
  530.  
  531. #define SendPkt(dp, port, replyport) \
  532.     LP3NR(0xf6, SendPkt, struct DosPacket *, dp, d1, struct MsgPort *, port, d2, struct MsgPort *, replyport, d3, \
  533.     , DOS_BASE_NAME)
  534.  
  535. #define SetArgStr(string) \
  536.     LP1(0x21c, BOOL, SetArgStr, STRPTR, string, d1, \
  537.     , DOS_BASE_NAME)
  538.  
  539. #define SetComment(name, comment) \
  540.     LP2(0xb4, LONG, SetComment, STRPTR, name, d1, STRPTR, comment, d2, \
  541.     , DOS_BASE_NAME)
  542.  
  543. #define SetConsoleTask(task) \
  544.     LP1(0x204, struct MsgPort *, SetConsoleTask, struct MsgPort *, task, d1, \
  545.     , DOS_BASE_NAME)
  546.  
  547. #define SetCurrentDirName(name) \
  548.     LP1(0x22e, BOOL, SetCurrentDirName, STRPTR, name, d1, \
  549.     , DOS_BASE_NAME)
  550.  
  551. #define SetFileDate(name, date) \
  552.     LP2(0x18c, LONG, SetFileDate, STRPTR, name, d1, struct DateStamp *, date, d2, \
  553.     , DOS_BASE_NAME)
  554.  
  555. #define SetFileSize(fh, pos, mode) \
  556.     LP3(0x1c8, LONG, SetFileSize, BPTR, fh, d1, long, pos, d2, long, mode, d3, \
  557.     , DOS_BASE_NAME)
  558.  
  559. #define SetFileSysTask(task) \
  560.     LP1(0x210, struct MsgPort *, SetFileSysTask, struct MsgPort *, task, d1, \
  561.     , DOS_BASE_NAME)
  562.  
  563. #define SetIoErr(result) \
  564.     LP1(0x1ce, LONG, SetIoErr, long, result, d1, \
  565.     , DOS_BASE_NAME)
  566.  
  567. #define SetMode(fh, mode) \
  568.     LP2(0x1aa, LONG, SetMode, BPTR, fh, d1, long, mode, d2, \
  569.     , DOS_BASE_NAME)
  570.  
  571. #define SetOwner(name, owner_info) \
  572.     LP2(0x3e4, BOOL, SetOwner, STRPTR, name, d1, long, owner_info, d2, \
  573.     , DOS_BASE_NAME)
  574.  
  575. #define SetProgramDir(lock) \
  576.     LP1(0x252, BPTR, SetProgramDir, BPTR, lock, d1, \
  577.     , DOS_BASE_NAME)
  578.  
  579. #define SetProgramName(name) \
  580.     LP1(0x23a, BOOL, SetProgramName, STRPTR, name, d1, \
  581.     , DOS_BASE_NAME)
  582.  
  583. #define SetPrompt(name) \
  584.     LP1(0x246, BOOL, SetPrompt, STRPTR, name, d1, \
  585.     , DOS_BASE_NAME)
  586.  
  587. #define SetProtection(name, protect) \
  588.     LP2(0xba, LONG, SetProtection, STRPTR, name, d1, long, protect, d2, \
  589.     , DOS_BASE_NAME)
  590.  
  591. #define SetVBuf(fh, buff, type, size) \
  592.     LP4(0x16e, LONG, SetVBuf, BPTR, fh, d1, STRPTR, buff, d2, long, type, d3, long, size, d4, \
  593.     , DOS_BASE_NAME)
  594.  
  595. #define SetVar(name, buffer, size, flags) \
  596.     LP4(0x384, BOOL, SetVar, STRPTR, name, d1, STRPTR, buffer, d2, long, size, d3, long, flags, d4, \
  597.     , DOS_BASE_NAME)
  598.  
  599. #define SplitName(name, seperator, buf, oldpos, size) \
  600.     LP5(0x19e, WORD, SplitName, STRPTR, name, d1, unsigned long, seperator, d2, STRPTR, buf, d3, long, oldpos, d4, long, size, d5, \
  601.     , DOS_BASE_NAME)
  602.  
  603. #define StartNotify(notify) \
  604.     LP1(0x378, BOOL, StartNotify, struct NotifyRequest *, notify, d1, \
  605.     , DOS_BASE_NAME)
  606.  
  607. #define StrToDate(datetime) \
  608.     LP1(0x2ee, LONG, StrToDate, struct DateTime *, datetime, d1, \
  609.     , DOS_BASE_NAME)
  610.  
  611. #define StrToLong(string, value) \
  612.     LP2(0x330, LONG, StrToLong, STRPTR, string, d1, LONG *, value, d2, \
  613.     , DOS_BASE_NAME)
  614.  
  615. #define SystemTagList(command, tags) \
  616.     LP2(0x25e, LONG, SystemTagList, STRPTR, command, d1, struct TagItem *, tags, d2, \
  617.     , DOS_BASE_NAME)
  618.  
  619. #define System(a0, a1) SystemTagList ((a0), (a1))
  620.  
  621. #ifndef NO_INLINE_STDARG
  622. #define SystemTags(a0, tags...) \
  623.     ({ULONG _tags[] = { tags }; SystemTagList((a0), (struct TagItem *)_tags);})
  624. #endif /* !NO_INLINE_STDARG */
  625.  
  626. #define UnGetC(fh, character) \
  627.     LP2(0x13e, LONG, UnGetC, BPTR, fh, d1, long, character, d2, \
  628.     , DOS_BASE_NAME)
  629.  
  630. #define UnLoadSeg(seglist) \
  631.     LP1NR(0x9c, UnLoadSeg, BPTR, seglist, d1, \
  632.     , DOS_BASE_NAME)
  633.  
  634. #define UnLock(lock) \
  635.     LP1NR(0x5a, UnLock, BPTR, lock, d1, \
  636.     , DOS_BASE_NAME)
  637.  
  638. #define UnLockDosList(flags) \
  639.     LP1NR(0x294, UnLockDosList, unsigned long, flags, d1, \
  640.     , DOS_BASE_NAME)
  641.  
  642. #define UnLockRecord(fh, offset, length) \
  643.     LP3(0x11a, BOOL, UnLockRecord, BPTR, fh, d1, unsigned long, offset, d2, unsigned long, length, d3, \
  644.     , DOS_BASE_NAME)
  645.  
  646. #define UnLockRecords(recArray) \
  647.     LP1(0x120, BOOL, UnLockRecords, struct RecordLock *, recArray, d1, \
  648.     , DOS_BASE_NAME)
  649.  
  650. #define VFPrintf(fh, format, argarray) \
  651.     LP3(0x162, LONG, VFPrintf, BPTR, fh, d1, STRPTR, format, d2, APTR, argarray, d3, \
  652.     , DOS_BASE_NAME)
  653.  
  654. #ifndef NO_INLINE_STDARG
  655. #define FPrintf(a0, a1, tags...) \
  656.     ({ULONG _tags[] = { tags }; VFPrintf((a0), (a1), (APTR)_tags);})
  657. #endif /* !NO_INLINE_STDARG */
  658.  
  659. #define VFWritef(fh, format, argarray) \
  660.     LP3NR(0x15c, VFWritef, BPTR, fh, d1, STRPTR, format, d2, LONG *, argarray, d3, \
  661.     , DOS_BASE_NAME)
  662.  
  663. #ifndef NO_INLINE_STDARG
  664. #define FWritef(a0, a1, tags...) \
  665.     ({ULONG _tags[] = { tags }; VFWritef((a0), (a1), (LONG *)_tags);})
  666. #endif /* !NO_INLINE_STDARG */
  667.  
  668. #define VPrintf(format, argarray) \
  669.     LP2(0x3ba, LONG, VPrintf, STRPTR, format, d1, APTR, argarray, d2, \
  670.     , DOS_BASE_NAME)
  671.  
  672. #ifndef NO_INLINE_STDARG
  673. #define Printf(a0, tags...) \
  674.     ({ULONG _tags[] = { tags }; VPrintf((a0), (APTR)_tags);})
  675. #endif /* !NO_INLINE_STDARG */
  676.  
  677. #define WaitForChar(file, timeout) \
  678.     LP2(0xcc, LONG, WaitForChar, BPTR, file, d1, long, timeout, d2, \
  679.     , DOS_BASE_NAME)
  680.  
  681. #define WaitPkt() \
  682.     LP0(0xfc, struct DosPacket *, WaitPkt, \
  683.     , DOS_BASE_NAME)
  684.  
  685. #define Write(file, buffer, length) \
  686.     LP3(0x30, LONG, Write, BPTR, file, d1, APTR, buffer, d2, long, length, d3, \
  687.     , DOS_BASE_NAME)
  688.  
  689. #define WriteChars(buf, buflen) \
  690.     LP2(0x3ae, LONG, WriteChars, STRPTR, buf, d1, unsigned long, buflen, d2, \
  691.     , DOS_BASE_NAME)
  692.  
  693. #endif /* !_INLINE_DOS_H */
  694.